/*
 * Hitted.h
 *
 *  Created on: 16/01/2011
 *      Author: Nenem
 */

#ifndef HITTED_H_
#define HITTED_H_

#include "Position.h"
#include "Tools.h"
#include "Direction.h"

class Hitted {
private:
	bool isHitted;
	Information east;
	Information west;
	Information north;
	Information south;
	int evasion;
	int baseEvasion;
	int recoverySpeed;
	int baseRecoverySpeed;
	int lastHittedTime;

	Position *position;
	int time;
	//owner
	int owner;
public:
	Hitted();
	Hitted(int baseRecoverySpeed);
	virtual ~Hitted();
	Rectangle getDefenseArea(Direction *direction);
	void update(int delta, int time);
    Position *getPosition() const;
    void setPosition(Position *position);

    int getOwner() const
    {
        return owner;
    }

    void setOwner(int owner)
    {
        this->owner = owner;
    }

    Information getEast() const
    {
        return east;
    }

    Information getNorth() const
    {
        return north;
    }

    Information getSouth() const
    {
        return south;
    }

    Information getWest() const
    {
        return west;
    }

    void setEast(Information east)
    {
        this->east = east;
    }

    void setNorth(Information north)
    {
        this->north = north;
    }

    void setSouth(Information south)
    {
        this->south = south;
    }

    void setWest(Information west)
    {
        this->west = west;
    }

    bool getIsHitted() const
    {
        return isHitted;
    }

    void setIsHitted(bool isHitted)
    {
        this->isHitted = isHitted;
    }

    int getLastHittedTime() const
    {
        return lastHittedTime;
    }

    void setLastHittedTime(int lastHittedTime)
    {
        this->lastHittedTime = lastHittedTime;
    }

    int getRecoverySpeed() const
    {
        return recoverySpeed;
    }
};

#endif /* HITTED_H_ */
